package meituan;

import java.util.Arrays;
import java.util.Scanner;

/**
 * 输入描述:
 * 输入第一行仅包含三个正整数n,x,y，分别表示参赛的人数和晋级淘汰人数区间。(1<=n<=50000,1<=x,y<=n)
 * 输入第二行包含n个整数，中间用空格隔开，表示从1号选手到n号选手的成绩。(1<=|a_i|<=1000)
 * 输出描述:
 * 输出仅包含一个整数，如果不存在这样的m，则输出-1，否则输出符合条件的最小的值。
 *
 * @Author Jun jie Yi
 * @Date 2022/3/16 21:26
 */
public class Problem1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int x = sc.nextInt();
        int y = sc.nextInt();
        //输入 n 个整数作为分数
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
        getNum(arr, x, y);
    }

    public static void getNum(int[] arr, int x, int y) {
        Arrays.sort(arr);
        //判断数组长度是奇数还是偶数
        int mid = arr.length / 2;
        if (arr.length % 2 == 0 && (mid < x || mid > y)) {//偶数
            System.out.println(-1);//不在此范围内
        } else if (arr.length % 2 == 1 && (mid < x || mid + 1 > y)) {//奇数
            System.out.println(-1);//不在此范围内
        } else {
            for (int i = 0; i <= mid - 1; i++) {
                if (((i + 1) >= x && (arr.length - i - 1) >= x) && ((i + 1) <= y && (arr.length - i - 1) <= y)) {
                    System.out.println(arr[i]);
                    break;
                }
            }
        }
    }
}
